home *** CD-ROM | disk | FTP | other *** search
/ United Public Domain Gold 2 / United Public Domain Gold 2.iso / utilities / pu084.dms / pu084.adf / floppy / AddFloppy.tx next >
Text File  |  1992-06-29  |  11KB  |  240 lines

  1.               Adding a Third and Fourth Floppy Disk
  2.  
  3.  
  4.                 (c) Copyright 1986  Eric D. Black
  5.  
  6.  
  7.  
  8.      The floppy  drives  supplied by Commodore are NEC FD1035.  I
  9. have   successfully   used   Toshiba  FDD-4403AQK-02.   They  are
  10. available  for  approximately  $100  each from various sources (I
  11. got  mine  at Halted Specialties in Sunnyvale for $99).  They are
  12. plug-compatible  with  the  NEC units.  In fact, when I first got
  13. them,  I removed the NEC drive from my Amiga 1010 expansion drive
  14. and  tried  them in its place with complete success.  The Toshiba
  15. drives  are  much  quieter  than my NEC drives; in fact, the disk
  16. validation  process  is  nearly  silent.   My expansion drives (a
  17. total  of  four floppies on my system) have been in operation for
  18. about two weeks now (as of 13 Apr 86) with no problems.  
  19.  
  20.      The electronic  part  is  fairly  easy,  and  the mechanical
  21. aspect  is also quite easy if you don't worry about shielding and
  22. RFI  (if  you  start seeing garbage on your TV screen, can't hear
  23. radio  stations  any more, or receive threats from neighbors, you
  24. better  shield  it  thoroughly)  -- I won't go into that here.  I
  25. didn't  shield  mine,  but  I  live  out in the woods and have no
  26. neighbors to complain.  
  27.  
  28.      The drives  have  two  connectors, one a 34-pin 3M-style pin
  29. header  for  control  and  data,  the other a 4-pin connector for
  30. power.   Mating  connectors  should  be  available  from  various
  31. sources.   The  3M  connector  is  easy,  but  I kludged up power
  32. connections   just   using   connector  pins  for  subminiature-D
  33. connectors,  a  practice I DO NOT recommend, and intend to remedy
  34. as  soon  as I find suitable connector bodies [using one side row
  35. of a 3M-style connector should work].  
  36.  
  37.      Power connections   are  to  each  drive  according  to  the
  38. capacity  of  the  power supply; the internal supply on the Amiga
  39. can  handle  ONLY  the  internal  drive  and ONE external floppy.
  40. Other  drives  (i.e.  df2:  and  df3:)  must have their own power
  41. supply,  which  they can share if it has the capacity (5V @ 0.8A,
  42. 12V  @  0.34A  total  for two drives).  The 4-pin power connector
  43. gets 5V on pin 1, 12V on pin 4, and ground on pins 2 & 3.  
  44.  
  45.      BEWARE: documentation  on  pins  1  and 4 is unclear; follow
  46. the  applicable  information on your particular drives!  I had no
  47. such  documentation.   My  Toshiba  drives had these voltages and
  48. pin  numbers  silk-screened  onto  their  PC  boards.   The Amiga
  49. Hardware  Manual  lists  pin  1 as 12V and pin 4 as 5V; I believe
  50. this to be incorrect (C-A: it IS a typo, isn't it??).  
  51.  
  52.      The 34-pin  data/control  connector gets most of its signals
  53. directly  from the 23-pin daisy-chain connector.  A few come from
  54. a simple 2-chip drive select interface circuit.  
  55.  
  56.      Disk drives  are  daisy-chained  using 23-pin subminiature-D
  57. connectors  (similar  to  the 25-pin connectors used for RS-232).
  58. Female  connectors  (DB23S)  provide signals to the NEXT drive in
  59. the  chain  (the  connector  on the back of the Amiga is female).
  60. Nearly  all  signals  on the 23-pin connector go straight through
  61. to  the  next drive.  Those that don't are power (this forces you
  62. to  provide  external  power  for  all  drives  after  the  first
  63. expansion  drive)  and  the  unary  drive select lines; these are
  64. shifted  one  place  down  so  that  each succeeding drive on the
  65. chain is automatically assigned the next drive number.  
  66.  
  67.      The pins  connected  directly  from DB23P (male, daisy-chain
  68. IN) to DB23S (female, daisy chain OUT) are: 
  69.  
  70.         Pin    Signal
  71.           1     RDY*
  72.           2     DKRD*
  73.          3-7    Ground
  74.          10     DRESB*
  75.          11     CHNG*
  76.          13     SIDEB*
  77.          14     WPRO*
  78.          15     TK0*
  79.          16     DKWEB*
  80.          17     DKWDB*
  81.          18     STEPB*
  82.          19     DIRB
  83.          22     INDEX*
  84.  
  85. (the * indicates active-low signals).  
  86.  
  87.      The drive  select  pins  which are down-shifted one place by
  88. each drive are: 
  89.  
  90.         Pin    Signal
  91.           9     SEL2B*
  92.          20     SEL3B*
  93.          21     SEL1B*
  94.  
  95. (i.e.  pin  20  coming in goes out on pin 9, pin 9 coming in goes
  96. out  on  pin  21,  pin  21  coming in goes to the drive interface
  97. circuit).  
  98.  
  99.      The following  pins  on  the  DB23P (daisy-chain IN) connect
  100. directly   to  the  34-pin  connector  on  the  disk  drive  (all
  101. odd-numbered pins on the 34-pin are connected to ground): 
  102.  
  103.         DB23P   34-pin   Signal
  104.            1      34       RDY    (also connected to circuit below)
  105.            2      30       DKRD*
  106.           11       2       CHNG*
  107.           13      32       SIDEB*
  108.           14      28       WPRO*
  109.           15      26       TK0*
  110.           16      24       DKWEB*
  111.           17      22       DKWDB*
  112.           18      20       STEPB*
  113.           19      18       DIRB
  114.           21      10       SEL1B* (also connected to circuit below)
  115.           22       8       INDEX*
  116.  
  117. As  far  as  we could tell, pin 10 (DRESB*) is passed directly on
  118. to  the  next drive, but is not used by 3.5" external drives.  It
  119. may  be  used  by  the 5.25" drives.  It might be useful to reset
  120. the interface latches with this signal, but I did not.  
  121.  
  122.      The interface  circuit  is basically a latch (flip-flop) and
  123. high-current  driver.   When  the  drive  is  selected, the latch
  124. loads  the state of the motor control line; thus, if the drive is
  125. selected  with  the  motor  on, then de-selected, the motor keeps
  126. running  (and up to speed).  To stop the motor, the drive must be
  127. selected  with  the  motor  control  line  off.  This function is
  128. accomplished  with  a  74LS74  D  latch and a 53238P 2-input NAND
  129. open-collector  buffer/driver.  The latter part used by Commodore
  130. turns  out  to  be available only from Mitsubishi in Japan, and I
  131. have  not yet been able to find a suitable single-chip substitute
  132. which  is  commonly available here.  The highest current rating I
  133. can  find for a standard quad NAND driver chip is 60ma, and 180ma
  134. is  required  here.   My  solution -- use an ordinary 74LS00 quad
  135. NAND  gate  and  a  74LS04  hex  inverter for the logic functions
  136. required,  and  discrete  transistors  for  the  current handling
  137. (hey,  this  is  a  homebrew  project, right?).  Three IC's, four
  138. 2N22222  general purpose NPN transistors (or one MPQ2222 quad-NPN
  139. transistor  array), and a few random resistors is all it takes to
  140. handle two disk drives.  
  141.  
  142.      My circuit  is  built  to  handle  two  drives,  all  in one
  143. package.   Since  23-pin D connectors are hard to find right now,
  144. I  made the design assumption that my expansion drives are always
  145. the  last  on the daisy-chain, i.e.  I don't have to find a DB23S
  146. for  another  disk  to  plug  into.   DB23P (male) connectors are
  147. easily  made  from  25-pin  connectors: with pin-insertion types,
  148. just  don't  insert  the  two  pins  at one end (13 and 25); with
  149. solder-type   or   IDC  connectors,  snip  off  those  two  pins.
  150. Carefully  "mash"  the  now-empty  end  of  the  shell so that it
  151. clears  the standoff/tie-down studs.  You may need a connector or
  152. two  to  practice  on...   BEWARE that the pins formerly numbered
  153. 14-24 are now pins 13-23! 
  154.  
  155.      A description  of  the  circuit  follows  (it's  not easy to
  156. represent  a  schematic  diagram  with  a  character  display;  a
  157. schematic  drawn  with  Deluxe Paint and stored in IFF format has
  158. been  drawn  by  Thad Floryan, and is included with this document
  159. as "AddSch.iff-H".   It  may be  displayed on the screen with the
  160. "ShowALL"  program,  and  may  also be printed with Deluxe Paint.
  161. This  verbal  description  should be easily understood by techies
  162. -- draw it out! 
  163.  
  164.      Hard-copy schematic  diagrams  are also available from me by
  165. mail;  send  a  SASE  and wait -- drawing it is faster! I hope to
  166. lay  out  a  PC  board  for this, it's pretty simple, but haven't
  167. yet,  and  my  unit is wire-wrapped.  If there is interest, I may
  168. be  convinced  to  make  such  an  item  available  at reasonable
  169. cost...  
  170.  
  171.  
  172.           DB23P pin  8 (MTRXD*) goes to the D inputs of the latch
  173.      (pins  2  and  11 of the 74LS74), with a 4.7K pullup to VCC.
  174.      Latch  presets  (pins  4 and 10) are pulled high (disabled).
  175.      I  also  pulled the latch clear inputs high (pins 1 and 13);
  176.      as  mentioned  earlier,  you  may  want  to tie these to the
  177.      DRESB*  (pin  10) signal so the latches get cleared any time
  178.      the Amiga is reset.  
  179.  
  180.           DB23P pin  21  (SEL1B*)  goes  through an inverter (pin
  181.      1),  the  output  of  which  (pin 2) goes to the latch clock
  182.      (pin  3)  and  one  input of a NAND gate (pin 1).  The other
  183.      input   of   that  NAND  gate  (pin  2)  comes  from  the  Q
  184.      (non-inverting)  output  of  the  latch (pin 5).  The output
  185.      (pin  3)  goes  to  another  inverter (74LS04 pin 3), thence
  186.      (pin  4)  to  the  10K  series base resistor of a 2N2222 NPN
  187.      driver  transistor  (pin 2 of an MPQ2222).  The emitter (pin
  188.      3)  is  tied  to  ground, the collector (pin 1) goes to  the
  189.      RDY*   line  of  the  disk  drive  (pin  34  of  the  34-pin
  190.      connector).   The Q* (inverting) output of the latch (pin 4)
  191.      goes  to  the  series  base  resistor of a second NPN driver
  192.      transistor,  whose emitter is also tied to ground, and whose
  193.      collector  goes to the MTR0D* and LED* drive signals, pins 4
  194.      and 16 on the 34-pin connector.  
  195.  
  196.           An analogous  circuit  takes  care of the second drive,
  197.      using  the  other half of the 74LS74, another NAND gate, two
  198.      more  inverters,  and  two  more  transistors in the MPQ2222
  199.      array.  
  200.  
  201.  
  202.      That's it!  Be sure to pull up all unused inputs, as well as
  203. logic  inputs  taken directly from the daisy-chain connector.  If
  204. you  find  and  use  a suitable open-collector NAND gate, and use
  205. spare  NAND  gates  as  inverters, be careful to use pullups when
  206. feeding  that  OC  output to another logic input (and let me know
  207. what part you used!).  
  208.  
  209.      NOTE that  each floppy drive takes about 25K bytes of memory
  210. for  track  buffering  and  other overhead; you may find that you
  211. can't  always  afford  the  50K  for these additional two drives.
  212. There  may  be  a  software way to tell the Exec to add or delete
  213. the drives without rebooting, but I don't know it yet.  
  214.  
  215.      If you  build  an expansion floppy unit for yourself, please
  216. let  me  know  about it [using "mail eblack" on the WELL, or send
  217. mail   via   UUCP  to  {sun,pyramid,hplabs,amdcad}!chronon!eric].
  218. Conversely,  if  you  would be interested in obtaining a small PC
  219. board  with  the necessary interface circuitry (maybe even cables
  220. and connectors, who knows?), let me know that.  
  221.  
  222.      Eric Black 
  223.      P. O. Box 118 
  224.      La Honda, CA   94020 
  225.  
  226.  
  227.      Special thanks  to  Rick Frazier (now mips!rick) for helping
  228. sort all this out! 
  229.  
  230.      Having more  floppy  drives  sure  does  cut  down  on  disk
  231. swapping,  but  I've  found  that  512K  is  not  enough (what an
  232. understatement!),  and  am  constructing an expansion memory unit
  233. for   myself.   Initial  plans  are  to  ignore  the  auto-config
  234. protocol  (Kickstart 1.1 doesn't do that, anyway), and just put a
  235. suitable  command  in  :s/Startup-Sequence to tell Exec about the
  236. additional  memory;  eventually  it  will  auto-config.  I'll let
  237. y'all  know  how  it  goes.   Also coming soon, in a theatre near
  238. you:   wire-wrap   expansion  boards  with  autoconfig  interface
  239. circuitry, intended for homebrew and prototype use.
  240.